ulimit用于shell啟動(dòng)進(jìn)程所占用的資源
1、語法格式:
ulimit [-acdfHlmnpsStvw] [size]
2、參數(shù)介紹:
-H 設(shè)置硬件資源限制.
-S 設(shè)置軟件資源限制.
-a 顯示當(dāng)前所有的資源限制.
-c size:設(shè)置core文件的最大值.單位:blocks
-d size:設(shè)置數(shù)據(jù)段的最大值.單位:kbytes
-f size:設(shè)置創(chuàng)建文件的最大值.單位:blocks
-l size:設(shè)置在內(nèi)存中鎖定進(jìn)程的最大值.單位:kbytes
-m size:設(shè)置可以使用的常駐內(nèi)存的最大值.單位:kbytes
-n size:設(shè)置內(nèi)核可以同時(shí)打開的文件描述符的最大值.單位:n
-p size:設(shè)置管道緩沖區(qū)的最大值.單位:kbytes
-s size:設(shè)置堆棧的最大值.單位:kbytes
-t size:設(shè)置CPU使用時(shí)間的最大上限.單位:seconds
-v size:設(shè)置虛擬內(nèi)存的最大值.單位:kbytes
-u number:設(shè)置用戶最大進(jìn)程數(shù) (max user processes)
3、Linux對(duì)于每個(gè)用戶,系統(tǒng)限制其最大進(jìn)程數(shù)。為提高性能,可以根據(jù)設(shè)備資源情況,設(shè)置各linux 用戶的最大進(jìn)程數(shù),下面我把某linux用戶的最大進(jìn)程數(shù)設(shè)為10000個(gè):
ulimit -u 10000
4、對(duì)于需要做許多 socket 連接并使它們處于打開狀態(tài)的 Java 應(yīng)用程序而言,最好通過使用 ulimit -n xx 修改每個(gè)進(jìn)程可打開的文件數(shù),缺省值是 1024。將每個(gè)進(jìn)程可以打開的文件數(shù)目加大到4096,缺省為1024。
ulimit -n 4096
5、其他建議設(shè)置成無限制(unlimited)的一些重要設(shè)置是:
數(shù)據(jù)段長(zhǎng)度:ulimit -d unlimited
最大內(nèi)存大?。簎limit -m unlimited
堆棧大小:ulimit -s unlimited
CPU 時(shí)間:ulimit -t unlimited
虛擬內(nèi)存:ulimit -v unlimited
6、解除 Linux 系統(tǒng)的最大進(jìn)程數(shù)和最大文件打開數(shù)限制:
1)vi /etc/security/limits.conf,添加如下的行
* ? soft noproc ? 65535 ?
* ? hard noproc ? 65535 ?
* ? soft nofile ? 65535 ?
* ? hard nofile ? 65535?
1
2
3
4
說明:* 代表針對(duì)所有用戶
noproc 是代表最大進(jìn)程數(shù)
nofile 是代表最大文件打開數(shù)
2)、修改所有 linux 用戶的環(huán)境變量文件:
shell> vi /etc/profile
1
在最后邊添加如下配置:
ulimit -u 65535 ?
ulimit -n 65535
ulimit -d unlimited ?
ulimit -m unlimited ?
ulimit -s unlimited ?
ulimit -t unlimited ?
ulimit -v unlimited ?
1
2
3
4
5
6
7
生效:
shell> source /etc/profile